/***
 * @author mdjaved@cordys.com
 */
/**
 * Copyright 2007 Cordys R&D B.V. 
 * 
 * This file is part of the UIUnit framework. 
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
 package com.cordys.cm.uiunit.framework.internal.util;

import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.spi.LoggingEvent;

/**
 * @author mdjaved@cordys.com
 * Aug 24, 2009
 */
public class PerformanceTraceFileAppender extends FileAppender{
	private static String fileName = null, currentTestName = null;
	
	
	/**
	 * @param currentName the currentName to set
	 */
	public static void setCurrentTestName(String currentTestName) {
		PerformanceTraceFileAppender.currentTestName = currentTestName;
	}
	
	@Override
	public void activateOptions() {
		
		if(currentTestName != null){
			fileName = currentTestName;
			super.fileName = fileName + "_" + System.currentTimeMillis()+"_perf-trace.log";
		}
		super.activateOptions();
	}

	@Override
	public void append(LoggingEvent event) {
		if(fileName != currentTestName){
			activateOptions();
		}
		if(event.getLevel().equals(Level.TRACE))
		{ 			
			super.append(event);
		}
	}
	
	
}
